iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0

用戶自訂資類型功能(UDT),具有複雜屬性的實體表達單個物件,作為資料庫中的元件進行分析建模
Oracle資料物支持物件類型,巢狀表類型,可變陣列類型,物件類型有兩種儲存形式

  1. 與資料表中其他資料一起存儲,物件只占表中一欄,這樣的物件被稱為行物件
  2. 物件表一列存放一個物件,存儲於物件表中的物件被稱為列物件
  • 查看結構:DESCRIBE
    DESCRIBE 自訂類型名稱 ;
  • 查看資料
    SELECT [表別名.欄位.UDT 欄位[,...,表別名.欄位.UDT欄位]
    FROM 資料表 別名;

    要查看自訂類型物件內的資料,資料表需使用別名
    欄位需使用表別名.欄位.DUT欄位格式

建立自訂類型
CREATE [OR REPLACE] TYPE 類型名稱 AS OBJECT
(
欄別名 資料類型(長度)[,...欄位名 資料類型(長度)]
);

增 改 刪自訂類型資料
(一) 新增資料
INSERT INTO 資料表(欄位[,...],自訂類型[,欄位,...])
VALUES(值[,...],自訂類型(值,...)[,值,...]);

新增資料至自訂類型欄位之語法語新增資料至一般欄位相似,不同處為VALUES內需寫出自定類型名稱候用小括號括住再填入要新增之對應值
寫入自訂類型內的值與符合欄位定義順序及資料類型
(二) 更改予刪除資料
UPDATE 表名 別名
SET 別名.欄位.自訂類型欄名=值
WHERE 條件表達式;

更改自訂類型欄位的內容值的語法與規則和一般的UPDATE語句相似,不同處在於資料表需取別名,另外SET後面需用「別名.自訂類型欄位.欄名=值」方式表達
自訂類型欄位指資料表內使用自訂類型之欄位,而其後的欄名為自訂類型結構的欄位名稱
(三) 刪除自訂類型
DROP TYPE 自訂類型名稱;
當自訂類型被資料表參照時,則無法刪除


上一篇
Day 23 視觀表
下一篇
Day 25 控制用戶存取
系列文
跟著生成式AI一起從零開始學習資料庫,25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言